This invention relates to communication systems using “Carrier Sense Multiple Access with collision avoidance” (CSMA/CA), and in particular to the recovery of a failing connection in such a network. CSMA/CA systems allow communication using distribution protocols such as those complying with the IEEE 802.11 radio communication standards known as “WiFi”, or powerline communications (PLC) access systems which make use of electricity power supply wiring. In such systems individual terminals do not have exclusive use of an individual channel, but instead they queue data frames for transmission whenever a timeslot becomes available. The distribution protocols include processes for prioritising frames from certain sources, or of certain types, and also for introducing a random element in order to reduce the possibility of several transmitters attempting transmission at the same instant. Moreover, unlike a cellular telephony system in which a channel allocation plan is imposed to avoid interference between individual base stations for the same spectrum, the less regulated “WiFi” environment does not have such constraints and several wireless local access networks (WLAN) may be operating independently within range of each other. Address information carried in a frame header is used to separate the data carried by the various networks, which are all allowed to compete for the same bandwidth. This specification will primarily discuss radio applications, but is not limited thereto and the invention may be used in other wireless technologies such as ultrasound, as well as other shared media technologies such as the powerline access communications systems discussed above.
In a multiplex system such as TDMA (time division multiple access) or FDMA (frequency division multiple access) each user is allocated a channel for the duration of a connection, with a guaranteed fixed bandwidth allocation (or none at all if no channels are available). In a CSMA/CA system no channel (timeslot/frequency) is allocated for the exclusive use of any particular transmitter, so such systems make better use of available spectrum than is possible with multiplex systems. However, because all users are competing for access to the same bandwidth, delays in transmission can occur because of congestion, should the total bitrate demand by users exceeds that available. Congestion results in frames being delayed, either because a transmitter is unable to identify any timeslots available for transmission of the frames, or because two transmitters both send frames simultaneously, resulting in a “collision” in which one or both frames may be corrupted, and have to be retransmitted.
“Collision avoidance” is a technique in which each transmitter, after it detects that a channel is clear, implements a random delay (“backoff”) before transmitting the next frame. This random delay reduces the probability of a collision between two frames originating from different transmitters both detecting the clear channel.
In this specification a distinction is made between two kinds of interference: herein referred to respectively as “noise” and “congestion”. The term “congestion” is the presence of communications competing for capacity on the same channel. Congestion can result in frame collisions caused, for example, by two transmitters both transmitting data frames to the same receiver at the same time. Depending on the relative signal strengths of the signals at the receiver, one or both frames may be corrupted by the other such that it is not recognisable by the receiver. Unless the signal strengths are very different, in many cases neither signal can be identified.
In contrast, the term “noise” is used to mean the presence of unwanted non-coherent energy, resulting from natural or artificial sources, detectable on the same frequency, or a related one such as a harmonic. Noise is a conflict between a single desired signal and an interferer, as distinct from congestion, which is a conflict between two or more desired signals competing for the same channel space.
Congestion may occur as a result of a large number of user terminals attempting to access a single access point, or a few terminals each attempting to use a high-bandwidth service at the same time, or competition for bandwidth between neighbouring access points forming parts of different local access networks but using the same spectrum resources.
Both congestion and noise can result in frames being lost through corruption of the signal. In the case of congestion the corruption is caused by two simultaneous frames “colliding” so that the result is the logical sum of both frames, each having been corrupted by the other. Depending on the relative signal strengths, either or both frames may be undecipherable by the receivers for which they are intended.
Measures to compensate for a noisy channel can include increasing power to improve the signal-to-noise ratio, instigating a network re-configuration such as changing from two parallel data streams to one duplicated stream, changing channel (frequency, timeslot, etc), modifying a channel-hopping sequence to avoid a noisy channel, adding error correction measures to transmissions, handing over the transmission from one base station to another, or switching to a modulation scheme which is more robust—that is to say, one with fewer bits per symbol.
However, some measures taken to compensate for interference (noise) would have a neutral, or even detrimental, effect if the actual problem is congestion. For example, a system may react to noise by changing to use a more robust modulation scheme, (e.g. changing from QPSK (quadrature phase shift keying) to BPSK (binary phase shift keying), or from a complex QAM (quadrature amplitude modulation) constellation to a simpler one. Such a change can have an adverse effect upon congestion as the reduced number of bits per symbol effectively reduces the bit rate, and thus increases the time occupied by the channel to transmit a given quantity of data. In another example, switching channels will not overcome overall congestion in the system, whilst adding error correction will increase the required bit rate, and thus make congestion worse.
Measures appropriate to mitigate the effects of noise may make congestion worse, and vice versa. It has also been recognised that the effectiveness of most congestion-mitigation measures rely on the relative absence of other interference.
The present invention addresses this issue by providing a method of operating a communications node in a carrier sense multiple access communications system with collision avoidance, in which the node measures the time that it takes for a transmitter to access a channel, and derives therefrom a measure of availability of capacity in the network for the transmission of data.
In another aspect the invention provides a carrier sense multiple access collision avoidance communications system node having a transmitter for transmitting data over a communications channel, frame transmission queuing system for maintaining a queue of data for transmission, and having a congestion detection processor for measuring the time that it takes for the transmitter to access a channel, and to determine therefrom the availability of capacity in the network for the transmission of the remaining data in the queue.
The invention therefore provides a measure of congestion derived from the time (either an absolute measure or based on discrete time slots) the device has to wait before the channel is clear, WiFi systems use a “Clear Channel Assessment” (CCA), so congestion can be assessed by starting a timer and then checking the CCA periodically until the channel is clear to transmit. When the channel becomes clear the timer is stopped. This measure could be run continuously, or only when the system has a packet of data ready to send; in this case the timer would start as soon as the data is available to send and stop when it is actually sent.
The process may be repeated over a longer duration so that the fraction of time that the channel is clear over a statistically more significant time period is assessed.
As well as measuring the time needed to access a channel, other criteria which may be used to determine the current loading of a channel include measuring the number of free/busy slots within a time period, or comparing traffic that is received against traffic that is expected (eg beacon signals transmitted from access points, or acknowledgements of previously transmitted data) to determine what proportion of that expected traffic is missing.
This congestion information may be combined with a noise measure to enable a good decision on transmission to be made, based upon both noise and congestion. In the preferred embodiment, if the noise detected is initially above the predetermined threshold, channel management techniques are implemented to attempt to reduce the noise level, and if the measures are successful, the availability of slots for transmission is determined and the data management processes performed.
It should be noted that the congestion management processes are therefore only implemented if it is determined that noise levels are below a predetermined level. It has been found that in the presence of a noisy channel, effective congestion management is not practical. Indeed, in some cases implementation of channel management techniques such as additional error checking overhead would result in an increase in the required bit rate, whilst implementation of the data management techniques necessarily require a decrease in the bit rate. Thus, for example channel management may be implemented by reducing error checking bits, but this can only be done reliably if it has already been determined that the channel is not so noisy that less rigorous error checking procedures are adequate.
The modification of the data for transmission in the event of low availability of such slots may take many forms. The node may modify the data by deleting low priority traffic from the queue. Other remedies include the application of measures to maintain a guaranteed quality of service to certain users or applications, for example by selective degradation of bit rate, or forcing lower priority users or applications to an idle or inactive state, or to listening only mode, or to hand over to another system, in order to maintain a guaranteed quality on other, higher priority users and applications. Such measures are known as “QoS” (Quality of Service) measures.
The modification of data may involve changing the medium by which the data is sent, rather than dropping it altogether. For some network terminations a network configuration change may be possible, for example handover of a dual purpose handset from WLAN to cordless (DECT) or cellular (GSM) capability, or from one type of connection (e.g. powerline) to another type of connection (e.g. wireless) to the same or another router.
A wireless router may also have the capability to signal to another router within range that it is experiencing congestion, so that the routers may co-operate so as to change the channel on which data is being transmitted, or otherwise reduce channel loading. In this case, the node which modifies data is responding to a message from another node reporting congestion, rather than responding to congestion it has detected directly.